Next | Prev | Up | Top | Contents | Index
PIO Addressing in the Crimson Series
Systems in the Silicon Graphics Crimson series can have one or two independent VME buses. The first bus is bus 0 and the second is bus 1. For PIO purposes, all or part of the VME A16, A24, and A32 address spaces from each bus are assigned to fixed mappings in system physical address space.
Note: When you read a device driver written specifically for the Crimson series you may see use of the addresses documented in this section. When writing a new driver, you are urged to avoid the use of these fixed addresses, and instead use the functions for dynamic assignment of PIO maps discussed under "PIO Addressing in Challenge and Onyx Systems". The end result will be the same, but the driver will be portable to all systems.
Crimson Mapping of A16 Space
The A16 address space for each bus is mapped in full as shown in Table 13-1.
VME A16 Addressing in Crimson Systems
VME A16 Address Range | Address Modifier | Kernel Address VME Bus 0 | Kernel Address VME Bus 1 |
---|
0x0000-0xFFFF | 0x29 (normal data) | 0xB7C0 0000- 0xB7C0 FFFF | 0xB780 0000- 0xB780 FFFF |
0x0000-0xFFFF | 0x2D (supervisor data) | 0xB7C1 0000- 0xB7C1 FFFF | 0xB781 0000- 0xB781 FFFF |
Crimson Mapping of A24 Space
The upper 8 MB of the A24 address space for supervisory and program data access is mapped as shown in Table 13-2.
VME A24 Addressing in Crimson Systems
VME A24 Address Range | Address Modifier | Kernel Address VME Bus 0 | Kernel Address VME Bus 1 |
---|
0x80 0000-0xFF FFFF | 0x39 (normal data) | 0xB280 0000- 0xB2FF FFFF | 0xF080 0000- 0xF0FF FFFF |
0x80 0000-0xFF FFFF | 0x3D (supervisor data) | 0xB380 0000- 0xB3FF FFFF | 0xF180 0000- 0xF1FF FFFF |
Crimson Mapping of A32 Space
The Crimson architecture allows up to 256 MB of physical address space for mapping a segment of VME A32 addresses. When the system contains only one VME bus, a single 256 MB segment of the A32 space is mapped as shown in Table 13-3.
VME A32 Addressing in Crimson Systems (One Bus)
VME A32 Address Range | Address Modifier | Kernel Address |
---|
0x1000 0000-0x1FFF FFFF | 0x09 (extended normal data) | 0xD000 0000-0xDFFF FFFF |
0x1000 0000-0x1FFF FFFF | 0x0D (extended supervisor data) | 0xE000 0000-0xEFFF FFFF |
When the system contains two buses, the available space is divided so that a segment of 128 MB from each bus is mapped, as shown in Table 13-4.
VME A32 Addressing in Crimson Systems (Two Buses)
VME A32 Address Range | Address Modifier | Kernel Address VME Bus 0 | Kernel Address VME Bus 1 |
---|
0x1800 0000- 0x1FFF FFFF | 0x09 (extended normal data) | 0xD800 0000- 0xDFFF FFFF | 0xD000 0000- 0xD7FF FFFF |
0x1800 0000- 0x1FFF FFFF | 0x0D (extended supervisor data) | 0xE800 0000- 0xEFFF FFFF | 0xE000 0000- 0xE800 0000 |
Next | Prev | Up | Top | Contents | Index